
$(function() {
    load();
});

function load() {
    $('#roleTable').bootstrapTable({
                contentType: "application/x-www-form-urlencoded",
                method : 'POST', // 服务器数据的请求方式 get or post
                url : ctxPath + "role/list", // 服务器数据的加载地址
                striped : true, // 设置为true会有隔行变色效果
                dataType : "json", // 服务器返回的数据类型
                pagination : true, // 设置为true会在底部显示分页条
                singleSelect : true, // 设置为true将禁止多选
                iconSize : 'outline',
                sortable: true,//是否启用排序
                pageSize : 14, // 如果设置了分页，每页数据条数
                pageList: [14, 50, 100], //可供选择的每页的行数（*）
                pageNumber : 1, // 如果设置了分布，首页页码
                //search : true, // 是否显示搜索框
                showColumns : true, // 是否显示内容下拉框（选择显示的列）
                sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者
                showRefresh: true,//显示刷新按钮
                clickToSelect: true,//点击选中checkbox
                showToggle:true,

                queryParams : function(params) {
                    return {
                        limit : params.limit,
                        offset : params.offset,
                        name : $('#searchName').val()
                    };
                },
                columns : [
                    {
                        checkbox : true
                    },
                    {
                        field : 'id', // 列字段名
                        title : '序号', // 列标题
                        visible: false
                    },
                    {
                        field : 'name',
                        title : '角色名'
                    },
                    {
                        field : 'pname',
                        title : '上级角色'
                    },
                    {
                        field : 'deptname',
                        title : '所在部门'
                    },
                    {
                        field : 'tips',
                        title : '备注'
                    },
                    {
                        title : '操作',
                        field : 'operation',
                        align : 'center',
                        formatter : function(value, row, index) {
                            var e = '<a class="btn btn-primary btn-sm '+ editFlag +'" mce_href="#" href="#" title="编辑" onclick="edit(\''+ row.id+ '\')"><i class="fa fa-edit"></i></a> ';
                            var d = '<a class="btn btn-warning btn-sm '+ delFlag +'" mce_href="#" href="#" title="删除" onclick="del(\''+ row.id+ '\')"><i class="fa fa-remove"></i></a> ';
                            return e + d;
                        }
                    } ]
            });
}

function reLoad() {
    $('#roleTable').bootstrapTable('refresh');
}

/**
 * 查找
 */
function find()
{
    reLoad();
}

/**
 * 设置权限设置弹出框
 */
function setUpPower() {
    var selected = $('#roleTable').bootstrapTable('getSelections');
    if (selected.length == 0) {
        layer.msg("请选择要操作的数据");
        return;
    }
    if (selected.length > 1) {
        layer.msg("不能选择多条数据");
        return;
    }
    var seItem = selected[0];
    var index = layer.open({
        type: 2,
        title: '权限配置',
        area: ['300px', '450px'], //宽高
        fix: false, //不固定
        maxmin: true,
        content: ctxPath + 'role/setUpPower/' + seItem['id']
    });
    this.layerIndex = index;
}

/**
 * 新增弹出框
 */
function add() {
    // iframe层
    layer.open({
        type : 2,
        title : '增加角色',
        maxmin : true,
        shadeClose : false, // 点击遮罩关闭层
        area : [ '800px', '350px' ],
        content : ctxPath + 'role/add'
    });
}

/**
 * 修改
 * @param id
 */
function edit(id) {

    if(id == null || id == "") {
        var rows = $('#roleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
        if (rows.length == 0) {
            layer.msg("请选择要修改的数据");
            return;
        }
        if (rows.length > 1) {
            layer.msg("不能选择多条数据");
            return;
        }
        id = rows[0]['id'];
    }

    layer.open({
        type : 2,
        title : '角色修改',
        maxmin : true,
        shadeClose : false,
        area : [ '800px', '350px' ],
        content : ctxPath + 'role/edit/' + id // iframe的url
    });
}

/**
 * 删除
 */
function del(id)
{
    if(id == null || id == "") {
        var rows = $('#roleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
        if (rows.length == 0) {
            layer.msg("请选择要删除的数据");
            return;
        }
        if (rows.length > 1) {
            layer.msg("不能选择多条数据");
            return;
        }
        id = rows[0]['id'];
    }

    layer.confirm("确认要删除该角色，角色对应的用户，角色对应的权限吗?", {
        btn : [ '确定', '取消' ]
    }, function() {
        $.ajax({
            type : 'POST',
            url : ctxPath + 'role/remove/'+ id,
            success : function(r) {
                if (r.code == 200) {
                    layer.msg("操作成功");
                    reLoad();
                } else {
                    layer.msg(r.message);
                }
            }
        });
    });
}